home *** CD-ROM | disk | FTP | other *** search
/ Power CD / Power CD ATARI-Rechner Lieben.iso / UTILITY / PROFILER / TOM07.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-06-16  |  1.1 KB  |  38 lines

  1. var anzahl,zahl,i : integer;
  2.     muenze : array [1..8] of integer;
  3. procedure zerlege (zahl : integer;maximum : integer);
  4.   var i,m : integer;
  5.   begin
  6.     for i:=2 to maximum do
  7.       if zahl-muenze[i]>=0 then
  8.       BEGIN
  9.         anzahl:=anzahl+1;
  10.         zerlege(zahl-muenze[i],i);
  11.       END;
  12.   end;
  13. begin
  14.   muenze[1]:=1;muenze[2]:=2;muenze[3]:=5;muenze[4]:=10;muenze[5]:=50;
  15.   muenze[6]:=100;muenze[7]:=200;muenze[8]:=500;
  16.   write('-> Summe in Pf ');readln(zahl);anzahl:=0; 
  17.   zerlege(zahl,8);
  18.   writeln('<- Es gibt ',anzahl+1,' Möglichkeiten ');
  19. end.
  20.  
  21. { Problemstellung :
  22.   
  23.   Wenn Sie genügend viele 1pf,2pf,5pf,10pf,50pf,1dm,5dm-Stücke zu Verfügung
  24.   haben, so können Sie einen bestimmten Betrag mit mehreren Möglichkeiten
  25.   bezahlen. Z.B. 10 Pf : Es gibt 11 Möglichkeiten : 1*10;2*5;1*5+2*2+1*1;
  26.   1*5+1*2+3*2;1*5+5*1;5*2;4*2+2*1;3*2+4*1;2*2+8*1;1*2+8*1;10*1 (sonst geht
  27.   nix mehr). Die Anzahl Möglichkeiten wächst überproportional zum Geldwert.
  28.   Maximal können 499 Pf berechnet werden (!).
  29.   
  30.   Beispiel :
  31.   
  32.   200 Pf (=2 DM-Stück !) ergibt 29605 Mölichkeiten.
  33.   
  34.   Hinweise :
  35.   
  36.    Rekursion, Variablenzählung. 
  37. }